package rensoft.portfolio.client.model.titles;

import cs.java.lang.HasService;

import static rensoft.gwt.client.lang.GwtLang.event;

import rensoft.gwt.client.event.Event;
import rensoft.gwt.client.event.HasEvents;
import rensoft.portfolio.client.model.titles.Titles.TitleState;

public interface Title extends Iterable<Page>, HasEvents, HasService {
  public static final Event<Page> ON_PAGE_CHANGE = event();

  int getCurrentIndex();

  int getIndex(Page page);

  Page getPage();

  Page getPage(int index);

  int getPageCount();

  TitleState getType();

  void showPage(int index);

  void showPage(String id);

}
